Information technology systems, including storage systems, may need protection from site disasters or outages, where outages may be planned or unplanned. Furthermore, information technology systems may require features for data migration, data backup, or data duplication. Implementations for disaster or outage recovery, data migration, data backup, and data duplication may include mirroring or copying of data in storage systems. Such mirroring or copying of data may involve interactions among hosts, storage systems and connecting networking components of the information technology system.
A storage server, such as the IBM® TotalStorage® Enterprise Storage Server® (“ESS”), may be a disk storage server that includes one or more processors coupled to storage devices, including high capacity scalable storage devices, Redundant Arrays of Inexpensive (or Independent) Disks (“RAID”), etc. The enterprise storage servers are connected to a network and include features for copying data in storage systems.
One type of copy strategy frequently employed in backup or disaster recovery systems is a point-in-time copy. Generally, a point-in-time copy includes copying some or all of the contents of a source logical storage volume to a target logical volume at a select point in time. Typically, only minimal interruption of normal read and write I/O operations from a host system to the source or target logical volumes are necessary when a point-in-time copy is invoked. Thus, one of the many benefits of point-in-time copy operations is rapid storage volume availability for any application running on the host after a point-in-time copy has been requested.
Many point-in-time copy systems work at the logical volume level. Other point-in-time copy systems can be used for data set copies as well as volume copies. In more fundamental point-in-time copy implementations, the source and target volumes must be in the same storage server logical subsystem and only a single source and target volume may be involved in one point-in-time copy relationship at a time. In more sophisticated point-in-time copy implementations, the source and target volumes may be on different logical storage subsystems, multiple point-in-time copy relationships may be allowed, and incremental point-in-time copies may be possible.
Many point-in-time copy implementations employ a technique known as data striping or data parallelization. Although a point-in-time copy operation may involve a single logical source volume and a single logical target volume, the data contained within these logical volumes may be physically stored on several separate disk drives or several different physical storage volumes. This technique for spreading the data in a logical volume across several physical volumes or disks is known as striping or parallelization. Striping can be advantageous because the I/O capacity of the physical volumes may be used in parallel to access the data on the logical volume. Thus, striping can be employed to achieve high performance reading and writing of large files with certain benefits for random access.
A fundamental requirement of a successful point-in-time copy is that the logical target volume(s) represent the state of data storage on the logical source volume at a specific point in time. However, point-in-time copy operations are not instantaneous. Furthermore, point-in-time copy operations across multiple physical drives containing portions of data from a logical volume may not occur on each physical drive at precisely the same time. In addition, one or more of the physical drives involved in a source and target pair may be receiving host I/O as a point-in-time copy completes on another physical drive in the striped logical volume, thus leading to data loss or data corruption issues.
The present invention is directed toward overcoming one or more of the problems discussed above.